﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Wicresoft.UnifyShow.Business
{
    public interface IChange
    {
        //获取变更总数
        Decimal GetChangeCountBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime);
        //获取已关闭变更总数
        Decimal GetclosedChangeCountBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime);
        //变更总数GroupTime
        List<IncidentAndChangeModel> GetChangeCountGroupTimeBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime); 
        //变更超时解决的数量/百分比
        Decimal GetChangeResolvedTimeOutCountBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime);
        //实施成功的超时数量/百分比
        List<IncidentAndChangeModel> GetChangeGroupResultBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime);
        //变更实施成功的超时数量/百分比
        List<ChangeModel> GetSuccessChangeBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime); 
        //重大风险&高风险的变更数量/百分比
        List<IncidentAndChangeModel> GetChangeImpactSortCountBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime);
        //来自其他工单类型的变更数量
        List<IncidentAndChangeModel> GetEscalationChangeCountBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime);
        //变更平均完成时间
        List<IncidentAndChangeModel> GetAvgtimeChangeBySiteAndBusiness(int? siteid, int? bnid, DateTime? sftime, DateTime? eftime); 
        //服务统计 已解决变更， 所有变更
        List<SiteBranchAndWorkListModel> GetChangeInfoList(int? site, int? bnid, DateTime? sTime, DateTime? eTime);

        List<SiteBranchAndWorkListModel> GetChangeInfoListBySystemName(int? site, string systemname, DateTime? sTime, DateTime? eTime);

        int GetUnResolvedChangeCount(int? site, DateTime? sTime, DateTime? eTime);
    }
}
